﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo02
{
    class Program
    {
        static void Main(string[] args)
        {
            //1、定义一个方法，求一个整数数组中的最大值，最小值，和，平均数。
            //如果是一个方法只能有一个返回值，那只能每一个都得定义一个方法来实现，不过有了ref和out这实现起来就方便多了。
            //参考步骤：
            //定义一个一维数组，数组中存放一些数据（控制台输入）。
            //定义几个变量：max、min、sum、avg

            //定义一个方法，方法返回数组元素之和,方法形参有 max min avg。

            //请用ref和out各做一遍，并在注释中，描述他们的区别。
            Math math = new Math();
            int[] arr = {1,2,3,4,5};
            int max=0;
            int min = arr[0];
            int sum = 0;
            int avg = 0;
            sum = math.Find(ref max, ref min, ref avg, arr);//在使用ref关键字时，需要初始化。
            Console.WriteLine("和:{0},最大值：{1},最小值：{2}，平均值：{3}",sum,max,min,avg);

            math.sum(out max,out min,out avg,arr);//在使用out关键字时，不需要在此处初始化。
            Console.WriteLine("和:{0},最大值：{1},最小值：{2}，平均值：{3}", sum, max, min, avg);

            Console.WriteLine();

            Console.ReadKey();
        }
    }
}
